import { EurekaInstancePort } from './eureka-instance-port';
import { EurekaInstanceDataCenterInfo } from './eureka-instance-data-center-info';
import { EurekaInstanceLeaseInfo } from './eureka-instance-lease-info';

/**
 * Eureka Instance Entity
 */
export class EurekaInstance {

    public instanceId: string;

    public hostName: string;

    public app: string;

    public ipAddr: string;

    public status: string;

    public color: string;

    public overriddenStatus: string;

    public port: EurekaInstancePort;

    public securePort: EurekaInstancePort;

    public countryId: number;

    public dataCenterInfo: EurekaInstanceDataCenterInfo;

    public leaseInfo: EurekaInstanceLeaseInfo;

    public metadata: Map<string, string>;

    public homePageUrl: string;

    public statusPageUrl: string;

    public healthCheckUrl: string;

    public vipAddress: string;

    public secureVipAddress: string;

    public isCoordinatingDiscoveryServer: string;

    public lastUpdatedTimestamp: string;

    public lastDirtyTimestamp: string;

    public actionType: string;

}
